#ifndef GUARD_BATTLE_UTIL2_H
#define GUARD_BATTLE_UTIL2_H

void AllocateBattleResources(void);
void FreeBattleResources(void);
void AdjustFriendshipOnBattleFaint(u8 battler);
void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1);
u32 sub_805725C(u8 battler);


enum BattleMonAttr{
    BATTLE_MON_TYPE_1,
    BATTLE_MON_TYPE_2,
    BATTLE_MON_TYPE_3,
};

struct TempBattlerType {
    u8 type1;
    u8 type2;
    u8 type3;
};

struct TempBattlerType GetBattlerTypeAll(u32 battlerId);
u8 CheckBattlerAbility(u32 battlerId, u16 ability);
u8 GetMonType(struct Pokemon* mon, enum BattleMonAttr type);
u8 GetBattlerType(u32 battler, enum BattleMonAttr type);
bool8 BattlerHasType(u32 battler, u16 type);
void SetBattlerType(u32 battlerId, u8 type);
#endif // GUARD_BATTLE_UTIL_H
